package com.richstonedt.smartcity.xaytsccommonms.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <b><code>FileUploadParams</code></b>
 * <p/>
 * Description 通用-文件表
 * <p/>
 * <b>Creation Time:</b> 2022/3/29 19:17:30
 *
 * @author tangjiahuan
 * @since xaytsc-common-be
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sc_common_files")
@ApiModel(value = "Files对象", description = "通用-文件表")
public class FileStorage extends Model<FileStorage> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    /**
     * 文件名
     */
    @ApiModelProperty(value = "文件名")
    private String fileName;

    /**
     * 原始文件名
     */
    @ApiModelProperty(value = "原始文件名")
    private String originalFileName;
    /**
     * 文件存放路径
     */
    @ApiModelProperty(value = "文件存放路径")
    private String filePath;

    /**
     * 文件访问路径
     */
    @ApiModelProperty(value = "文件访问路径")
    private String fileUrl;

    /**
     * 文件类型:取文件后缀
     */
    @ApiModelProperty(value = "文件扩展名")
    private String fileExt;

    /**
     * 文件是否为图片 0:是1：否
     */
    @ApiModelProperty(value = "文件是否为图片 0:是1：否")
    private Integer isImage;
    /**
     * 文件大小(单位kb)
     */
    @ApiModelProperty(value = "文件大小")
    private Long fileSize;

    /**
     * 系统类型
     */
    @ApiModelProperty(value = "文件所属系统类型")
    private String systemType;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 创建用户
     */
    @ApiModelProperty(value = "创建用户")
    private String creator;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    /**
     * 更新用户
     */
    @ApiModelProperty(value = "更新用户")
    private String updater;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}